Graphical user interfaces often employ shadowing techniques to provide the illusion of depth on a two-dimensional surface. Often graphical user interfaces use a shadow having predefined characteristics, such as a predefined size or a predefined distance from the object which cast the shadow or to which the shadow is associated. While these techniques can provide an illusion of depth, these static shadows do not adjust with the contours of graphical user interface objects and therefore do not provide a natural or realistic look and feel.